import { createRouter, createWebHistory } from 'vue-router'

// 使用Vite的glob导入功能获取所有页面组件
const pages = import.meta.glob('../views/**/*page.vue')

// 生成路由配置
export const routes = Object.keys(pages)
  .map((path) => {
    // 提取文件名和目录信息
    const name = path.match(/\.\.\/views\/(.*)\.vue$/)[1]
    const segments = name.split('/')
    const fileName = segments.pop()

    // 处理page.vue和[name].page.vue两种格式
    let routeName, routePath

    if (fileName === 'page') {
      // 处理page.vue格式
      routePath = `/${segments.join('/')}`
      routeName = segments.join('-')
    } else if (fileName.endsWith('.page')) {
      // 处理[name].page.vue格式
      const baseName = fileName.replace('.page', '')
      routePath = `/${segments.join('/')}/${baseName}`
      routeName = segments.length ? `${segments.join('-')}-${baseName}` : baseName
    } else {
      // 跳过不符合规则的文件
      return null
    }

    // 创建路由配置对象
    return {
      path: routePath,
      name: routeName,
      component: pages[path],
    }
  })
  .filter(Boolean) // 过滤掉null值

const router = createRouter({
  history: createWebHistory(),
  routes,
})

export default router
